package cn.tedu.micro.demo.order.controller;

import cn.tedu.micro.demo.common.pojo.protocol.JsonResult;
import cn.tedu.micro.demo.order.service.OrderService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@Slf4j
public class OrderController {
    @Autowired
    private OrderService orderService;
    /**
     * 请求方式 post
     * 请求地址 /order/create
     * 参数 Integer gunId Integer userId
     * 返回数据 统一协议对象 携带创建订单的billId
     */
    @PostMapping("/order/create")
    public JsonResult<String> createOrder(Integer gunId,Integer userId){
        //在业务代码中 输出日志 一般有3种位置输出
        log.info("模拟扫码下单,gunId:{},userId:{}",gunId,userId);//一般会输出入参
        /**
         * 第一个位置 方法入口(入参)
         * 第二个位置 方法返回(出参)
         * 第三个位置 判断分支 if 日志 else if 日志 else if else 日志
         */
        String billId = orderService.createOrder(gunId, userId);
        //输出出参
        JsonResult<String> result = JsonResult.ok("ok", billId);
        log.info("模拟扫码下单,出参结果,result:{}",result);
        return result;
    }
}
